#include "Scene.h"


Scene::Scene(){
	//initialize the collections
	theShapes = new vector<Shape*>();
	theLights = new vector<Light*>();
	theCameras = new vector<Camera>();
	theShaders = new vector<ShaderCollection>();
}


Scene::~Scene(){
	delete theShapes;
	delete theLights;
	delete theCameras;
	delete theShaders;
}

void Scene::addTriangle(vec3 _pt1, vec3 _rot, vec3 _pt2, vec3 _pt3){
	//printf("Added a triangle\n");
	Shape *tempTri = new Triangle(vec4(0, 0, 0, 0), _rot, _pt1, _pt2, _pt3);
	theShapes->push_back(tempTri);
}

void Scene::removeShape(vector<Shape*>::iterator _it){
	theShapes->erase(_it);
}
void Scene::removeLight(vector<Light*>::iterator _it){
	theLights->erase(_it);
}
void Scene::removeCamera(vector<Camera>::iterator _it){
	theCameras->erase(_it);
}
void Scene::removeShader(vector<ShaderCollection>::iterator _it){
	theShaders->erase(_it);
}

